home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / SYSVARS.D < prev    next >
Encoding:
Modula Definition  |  1990-12-12  |  7.9 KB  |  121 lines

  1. DEFINITION MODULE SysVars;
  2.  
  3. (* Autor: Dirk Steins.                             Stand: 5.12.90  *)
  4.  
  5. (* Liste der Systemvariablen                                       *)
  6. (* Bezeichnungen nach                                              *)
  7. (*      Atari ST Profi Buch                                        *)
  8. (*      Jankowski, Rabich, Reschke                                 *)
  9. (*      Sybex-Verlag                                               *)
  10.  
  11. (* Mehr Informationen zu den Variablen gibt es ebenfalls im oben   *)
  12. (* genanntem Werk.                                                 *)
  13.  
  14. (* Der Zugriff auf diese Variablen ist Supervisor-Modus, z.B.      *)
  15. (* mittels der Super..-Funktionen aus dem Modul SysUtil1 möglich.  *)
  16.  
  17.  
  18.  
  19. CONST
  20.  
  21.     etv_timer   =   $400     ; (* Interrupt-Vektor des System-Timers *)
  22.     etv_critic  =   $404     ; (* Vektor für den Critical-Error-Handler *)
  23.     etv_term    =   $408     ; (* Interrupt-Vektor für Prozeßbeendigungen *)
  24.     etv_xtra    =   $40c     ; (* 5 reservierte Vektoren *)
  25.     memvalid    =   $420     ; (* = $752019f3 heißt, Speicherkonfiguration *)
  26.                                (* ist gültig (nach RESET)                  *)
  27.                                (* siehe auch memval2, memval3 und memcntrl *)
  28.     memcntrl    =   $424     ; (* Unteres Nibble des Schattenregisters des *)
  29.                                (* Speicherkontroll-Registers ($ff8001)     *)
  30.     resvalid    =   $426     ; (* = $31415926 => bei RESET über resvector  *)
  31.                                (*                springen                  *)
  32.     resvector   =   $42a     ; (* siehe resvalid                           *)
  33.     phystop     =   $42e     ; (* Zeigt auf 1. Byte über phys. Ende des RAM *)
  34.     _membot     =   $432     ; (* Anfang des unter GEMDOS freien Speichers  *)
  35.     _memtop     =   $436     ; (* Ende   des unter GEMDOS freien Speichers  *)
  36.     memval2     =   $43a     ; (* = $237698aa , gilt in Verbindung mit memval *)
  37.     flock       =   $43e     ; (* für Sperren des DMA-Zugriffs             *)
  38.     seekrate    =   $440     ; (* Default-Werte für die Floppy-Steprate    *)
  39.     _timer_ms   =   $442     ; (* Zeit in ms, die zwischen zwei System-Timer *)
  40.                                (* Interrupts liegt, normalerweise 20 ms    *)
  41.     _fverify    =   $444     ; (* <> 0 : Verify nach Floppy-Schreiben *)
  42.     _bootdev    =   $446     ; (* legt das Boot-Laufwerk nach dem nächstem *)
  43.                                (* RESET fest                               *)
  44.     palmode     =   $448     ; (* für Fernsehnorm: 0=60Hz, 1=50Hz (PAL)    *)
  45.     defshiftmd  =   $44a     ; (* Default Farb-Auflösung: 0=320*200,1=640*200*)
  46.     sshiftmd    =   $44c     ; (* Shadow des Shifter-Modus-Registers       *)
  47.     _v_bas_ad   =   $44e     ; (* Zeiger auf den Anfang des Bildspeichers  *)
  48.     vblsem      =   $452     ; (* 1= VBL-Handler aktiviert                 *)
  49.     nvbls       =   $454     ; (* Anzahl der Einträge in _vblqueue         *)
  50.     _vblqueue   =   $456     ; (* Zeiger auf Tabelle mit Adressen der VBL- *)
  51.                                (* Routinen. 1. Vektor immer Mausbewegung!! *)
  52.     colorptr    =   $45a     ; (* Zeiger auf Farbpalette nach nächstem VBL *)
  53.                                (* (kann auch 0 sein, dann passiert nichts) *)
  54.     screenpt    =   $45e     ; (* Zeiger auf Start des Bildschirms nach    *)
  55.                                (* nächstem VBlank. (kann auch 0 sein)      *)
  56.     _vbclock    =   $462     ; (* Anzahl der bereits erfolgten VBlanks     *)
  57.     _frclock    =   $466     ; (* wie _vbclock, wird nur nicht durch vblsem *)
  58.                                (* gestoppt                                 *)
  59.     hdv_init    =   $46a     ; (* Vektor für Init der logischen Drives     *)
  60.     swv_vec     =   $46e     ; (* Vektor auf Routine bei Wechsel           *)
  61.                                (* Mono <-> Color, normalerweise auf RESET  *)
  62.     hdv_bpb     =   $472     ; (* Vektor für GetBPB auf logischen Drives   *)
  63.     hdv_rw      =   $476     ; (* Vektor für Lesen/Schreiben auf log. Drives *)
  64.     hdv_boot    =   $47a     ; (* Vek. für Lesen des Bootsectors auf log. "  *)
  65.     hdv_mediach =   $47e     ; (* Vek. für Wechselstatus auf log. Drive    *)
  66.     _cmdload    =   $482     ; (* <>0 : Lade COMMAND.COM statt GEM nach Boot *)
  67.     conterm     =   $484     ; (* Attributbits für CON:                    *)
  68.     trp14ret    =   $486     ; (* Interne Rücksprungadresse bei TRAP #14   *)
  69.     criticret   =   $48a     ; (* Interne Rücksprungadresse                *)
  70.     themd       =   $48e     ; (* MD-Struktur des GEMDOS. Nicht ändern!!!  *)
  71.     _____md     =   $49e     ; (* Platz für weiteren MD                    *)
  72.     savptr      =   $4a2     ; (* Zeiger auf BIOS Register-Zwischenspeicher *)
  73.     _nflops     =   $4a6     ; (* Anzahl der angemeldeten Disk-Drives      *)
  74.     con_state   =   $4a8     ; (* Interner zeiger für Bildschirmausgaben   *)
  75.     sav_row     =   $4ac     ; (* Speicher für Cursor-Position         *)
  76.     sav_context =   $4ae     ; (* Zeiger  auf Speicherbereich für Register *)
  77.                                (* und Stackteile bei Exceptions (norm. $380) *)
  78.     _bufl       =   $4b2     ; (* Zwei Zeiger auf Buffer-Control-Blocks(BCB) *)
  79.     _hz_200     =   $4ba     ; (* Bisherige Anzahl der 200Hz-Interrupts    *)
  80.     the_env     =   $4be     ; (* Standard Environment Zeiger (unbenutzt)  *)
  81.     _drvbits    =   $4c2     ; (* Bit-Vektor der angemeldeten Drives *)
  82.     _dskbufp    =   $4c6     ; (* Zeiger auf 1k Buffer für Disk-I/O  *)
  83.     _autopath   =   $4ca     ; (* Zeiger auf Zugriffspfad für AUTO-Ordner   *)
  84.     _vbl_list   =   $4ce     ; (* Ursprüngliche Liste der VBL-Routinen      *)
  85.     _dumpflg    =   $4ee     ; (* Zähler für ALT-HELP-Tastendrücke   *)
  86.     _prtabt     =   $4f0     ; (* Flag für Abbruch des Druckvorgangs *)
  87.     _sysbase    =   $4f2     ; (* Zeiger auf Anfangsadresse des TOS-Headers *)
  88.     _shell_p    =   $4f6     ; (* Zeiger auf Kommandoeingabe-Routine einer  *)
  89.                                (* Command-Shell. Im ROM nicht benutzt       *)
  90.     end_os      =   $4fa     ; (* Zeiger auf 1. nicht vom TOS benutztes Byte*)
  91.     exec_os     =   $4fe     ; (* Zeiger auf Shell-Programm nach Init von   *)
  92.                                (* GEMDOS. Normalerweise AES und Desktop     *)
  93.     scr_dump    =   $502     ; (* Zeiger auf Hardcopy-Routine               *)
  94.     
  95.     (* Die folgenden Variablen sind erst ab TOS 1.2 (Blitter-TOS) vorhanden *)
  96.     
  97.     prv_lsto    =   $506     ; (* Zeiger auf Routine für Status der Drucker-*)
  98.                                (* Schnittstelle. Ebenfalls für Hardcopy     *)
  99.     prv_lst     =   $50a     ; (* Zeiger auf Routine für Ausgabe auf Drucker-*)
  100.                                (* Schnittstelle. Ebenfalls für Hardcopy     *)
  101.     prv_auxo    =   $50e     ; (* Zeiger auf Routine für Status der RS232-  *)
  102.                                (* Schnittstelle. Ebenfalls für Hardcopy     *)
  103.     prv_aux     =   $512     ; (* Zeiger auf Routine für Ausgabe auf RS232- *)
  104.                                (* Schnittstelle. Ebenfalls für Hardcopy     *)
  105.     pun_ptr     =   $516     ; (* Zeiger auf HDINFO-Struktur                *)
  106.     memval3     =   $51A     ; (* Siehe memval und memval2. Magic=$5555aaaa *)
  107.     _longframe  =   $59E     ; (* Stackoffset bei Exceptions                *)
  108.     
  109.     (* Die folgenden Variablen sind erst ab TOS 1.6 (STE, TT) vorhanden *)
  110.  
  111.     _p_cookies  =   $5A0     ; (* Zeiger auf CookieJar - ggf. Null          *)
  112.     bell_hook   =   $5AC     ; (* Adresse für 'Glocken'-Ton. Zeigt auf nor- *)
  113.                                (* male Prozedur, die mit RTS enden muß.     *)
  114.                                (* Kann Original-Routine aufrufen            *)
  115.     kcl_hook    =   $5B0     ; (* Adresse für 'Key-Click'-Ton.              *)
  116.  
  117.     fmemtop     =   $5A4     ; (* Memtop für Fast-RAM (TT-only!)            *)
  118.     fmemvalid   =   $5A8     ; (* Memvalid für Fast-RAM. Magic nicht bekannt*)
  119.  
  120. END SysVars.
  121.